package pck_tramitedocu.pck_src.pck_business;

import java.util.ArrayList;
import java.util.Map;
import net.sf.jasperreports.engine.JasperPrint;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Bandeja_Documento;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Bandeja_destinatarios_derivacion;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Documento_Historial;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Notificaciones;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Trabajador;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Visto;
import pck_tramitedocu.pck_src.pck_pojos.Cls_documento;
import pck_tramitedocu.pck_src.pck_pojos.TramiteDocuException;

public abstract interface Itf_business_documento
{
  public abstract String agregarDocumentoBusiness(Cls_documento paramCls_documento) throws TramiteDocuException;

  public abstract String actualizarDocumentoBusiness(Cls_documento paramCls_documento) throws TramiteDocuException;

  public abstract boolean eliminarDocumentoBusiness(String paramString);

  public abstract Cls_documento obtenerDocumentoConTodaInformacionBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract ArrayList<Cls_documento> obtenerTodosDocumentoBusiness(Map<String, String> paramMap);

  public abstract int obtenerCantidadDeRegistrosBussiness(Map<String, String> paramMap);

  public abstract JasperPrint obtenerDocumentoPrintBusiness(Map<String, String> paramMap);

  public abstract ArrayList<Cls_Bandeja_Documento> obtenerTodosDocumentoPersonalesBusiness(Map<String, String> paramMap);

  public abstract ArrayList<Cls_documento> obtenerTodosDocumentoPersonalesDeAreaBusiness(Map<String, String> paramMap);

  public abstract int obtenerCantidadDeDocumentosPersonalesDao(Map<String, String> paramMap);

  public abstract int obtenerCantidadDeDocumentosPersonalesAreaBusiness(Map<String, String> paramMap);

  public abstract Cls_Bandeja_Documento obtenerDocumentoPersonalBandejaBusiness(Map<String, String> paramMap, Cls_Trabajador paramCls_Trabajador) throws TramiteDocuException;

  public abstract String actualizarBandejaDocumentoBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract String delegarDocumentoDesdeBandejaBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract boolean necesitaGenerarFlashBusiness(Map<String, String> paramMap);

  public abstract String agregarDocumentoExtensionBusiness(Map<String, Object> paramMap);

  public abstract String dipararDocumentoDesdeBandejaParaVistoBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract String darVistoDocumentoDesdeBandejaParaRespuestaBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract ArrayList<Cls_Documento_Historial> obtenerHistorialDocumentoBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract int obtenerCantidadHistorialBusiness(Map<String, String> map) throws TramiteDocuException;

  public abstract ArrayList<Cls_Visto> obtenerVistoDocumentoBusiness(Map<String, Object> paramMap) throws TramiteDocuException;

  public abstract String cerrarDocumentoBusiness(Map<String, Object> paramMap);

  public abstract int puedeImprimirDocumentoBusiness(Map<String, String> paramMap);

  public abstract String aprobarDocumentoBusiness(Map<String, Object> paramMap) throws TramiteDocuException;

  public abstract String agregarHistorialDocumentoBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract String reiniciarContadorMensajesBandejaDocumentoBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract ArrayList<Cls_Notificaciones> obtenerNotificacionesBusiness(Map<String, String> paramMap);

  public abstract String actualizarDocumentoVistoBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract String dipararDocumentoDesdeBandejaParaVistoRechazadosBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract String darPermisosImprimirBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract String darPermisosModificarBusiness(Map<String, String> paramMap) throws TramiteDocuException;

  public abstract ArrayList<Cls_Bandeja_destinatarios_derivacion> obtenerDestinatariosDeDerivacionBusiness(Map<String, String> paramMap)  throws TramiteDocuException;

  public abstract String agregarBorradorBusiness(Map<String, Object> mp_documento) throws TramiteDocuException ;

  public abstract String eliminarPositBorradorDeBandejaBusiness(Map<String, Object> mp_documento) ;

  public abstract ArrayList<Cls_documento> obtenerTodosDocumentoProyectosPendientesBusiness(Map<String, String> map);

  public abstract ArrayList<String> obtenerAños();

  public abstract Cls_documento obtenerCabeceraHistorialDocumentoBusiness(Map<String, String> paramMap) throws TramiteDocuException;
}